package com.yequan.exe.core.handler;

import com.yequan.pojo.CalcData;

/**
 * @author yq
 * @date 2020/09/29
 */
public interface ExeHandler extends ExeHandlerExt {
    /**
     * 准备cmd命令
     *
     * @param calcData
     */
    void combineCommand(CalcData calcData);

    /**
     * 计算前
     *
     * @param calcData
     */
    void beforeExecute(CalcData calcData);

    /**
     * 执行exe程序
     *
     * @param calcData
     * @return
     */
    int execute(CalcData calcData);

    /**
     * 计算完成后
     *
     * @param calcData
     * @param result
     * @return
     */
    void afterExecute(CalcData calcData, int result);

}
